#ifndef ___fat32_conexiones_transacciones

#define ___fat32_conexiones_transacciones 1

#include "f32_acon.c"
#include "f32_cta1.c"
#include "f32_base.c"

unsigned int fat32_obtener_conexion_para_transaccion(unsigned int);
void fat32_liberar_conexion_de_transaccion(unsigned int);

unsigned int fat32_obtener_conexion_para_transaccion (unsigned int transaccion) {
  unsigned int posicion;
  for (posicion = 0; posicion < fat32_recursos.cantConexiones; posicion ++)
    if (fat32_recursos.conexiones[posicion].transaccion == transaccion)
      return fat32_recursos.conexiones[posicion].conexion;
  return fat32_obtener_nueva_conexion_para_transaccion(transaccion);
}

void fat32_liberar_conexion_de_transaccion (unsigned int transaccion) {
  unsigned int posicion;
  for (posicion = 0; posicion < fat32_recursos.cantConexiones; posicion ++)
    if (fat32_recursos.conexiones[posicion].transaccion == transaccion) {
      fat32_liberar_conexion_retenida(fat32_recursos.conexiones[posicion].conexion);
      fat32_recursos.conexiones[posicion] = fat32_recursos.conexiones[-- fat32_recursos.cantConexiones];
      fat32_recursos.conexiones = fb_cambiar_tamano(fat32_recursos.conexiones, sizeof(fat32_conexion_transaccion),
                                                    fat32_recursos.cantConexiones);
    }
}

#endif